#include <54func.h>
int main(int argc,char *argv[])
{
    // ./11_redirect file1
    ARGS_CHECK(argc,2);
    printf("You can see me!\n");//将数据拷贝到stdout文件流中，再把数据通过1号文件描述符拷贝到标准输出中
    // 隐藏要求，close之前一i的那个要先打印一个换行
    close(STDOUT_FILENO);//STDOUT_FILENO:就是文件描述符1
    
    int fd = open(argv[1],O_RDWR);
    ERROR_CHECK(fd,-1,"open");
    //打开一个文件，系统会分配最小且可用的文件描述符
    //因为文件描述符1被关闭，即释放可用，那么系统会为打开的文件分配文件描述符为1
    //文件描述符1始终指向的都是stdout输出，但是这里被重定向，有输出设备重定向为磁盘文件
    //因此下面两句应该再文件中
    printf("fd = %d\n",fd);
    printf("You can't see me!\n");
    return 0;
}
